{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 1 1]\n"
     ]
    }
   ],
   "source": [
    "# 阶跃函数\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "def step_function(x):\n",
    "    y = x > 0\n",
    "    return y.astype(np.int32)\n",
    "\n",
    "x = np.array([-1.0, 1.0, 2.0])\n",
    "y = step_function(x)\n",
    "print(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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3S4n7ezcuVPt7e1644033C5lSmBlxEAbNmyQx+M55ePQoUN64okn1N/fr+rqardLnrIm+lqf6OjRo/rmN7+p733ve1q9erVLlQNnpqqqSm+//bZ27tzpdilpp6urS+vWrdOvfvUrZWVluV3OlMA4eAP19PTo73//+yn3ufTSS/X9739fv//97+XxeJLbHcdRRkaGbr31Vr3wwguTXeqUN9HXOjMzU5J07NgxLV++XFdffbWef/55eb3k+TMxNDSkGTNmaNeuXVq5cmVy+6pVq/Txxx9rz5497hWXxtauXas9e/bo1Vdf1YIFC9wuJ+3s3r1b3/nOd5SRkZHc5jiOPB6PvF6vBgcHR/0bCCNTWmdnpyKRSPLrY8eOqaysTLt27VJJSYnmz5/vYnXp5+jRo7r++utVWFioX/7yl7yZnCUlJSUqLi7WE088Iemzjw8uvvhirV27Vhs2bHC5uvQSj8d1991368UXX9SBAwd02WWXuV1SWurv79eHH344altlZaUWLVqk++67j4/FxkDPyBR28cUXj/r6/PPPlyQtXLiQIHKWHT16VMuXL9cll1yixx57TD09Pcl/y83NdbGyqS8UCmnVqlUqKipScXGx6uvrNTAwoMrKSrdLSztVVVXasWOH9uzZo5kzZyocDkuScnJyNH36dJerSx8zZ848KXB84Qtf0Be/+EWCyDgII8AE7N+/X4cPH9bhw4dPCnosLp6Z8vJy9fT0qKamRuFwWAUFBWpubj6pqRVn7umnn5YkLV++fNT2n//857r99tvPfUHAMD6mAQAArqL7DgAAuIowAgAAXEUYAQAAriKMAAAAVxFGAACAqwgjAADAVYQRAADgKsIIAABwFWEEAAC4ijACAABcRRgBAACuIowAAABX/T9hpJOVh/rMawAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制阶跃函数图形\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def step_function(x):\n",
    "    return np.array(x > 0, dtype=np.int32)\n",
    "\n",
    "x = np.arange(-5.0, 5.0, 0.1)\n",
    "y = step_function(x)\n",
    "plt.plot(x, y)\n",
    "plt.ylim(-0.1, 1.1)\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.26894142 0.73105858 0.88079708]\n"
     ]
    }
   ],
   "source": [
    "# sigmoid函数实现\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "def sigmoid(x):\n",
    "    return 1 / (1 + np.exp(-x))\n",
    "\n",
    "x = np.array([-1.0, 1.0, 2.0])\n",
    "print(sigmoid(x))"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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KytTamrqUY9JTU1t0/6SZLPZZLPZ2hINAAD4qDadGQkNDdWIESO0fPnylm0ej0fLly/X6NGjj3rM6NGjD9tfkpYtW3bM/QEAQGBp8629eXl5mjRpkkaOHKlRo0Zp9uzZqq2t1eTJkyVJEydOVFpamvLz8yVJt912m84++2w99thjuvjiizV//nytXr1af/3rX9v3JwEAAD6pzWVkwoQJqqio0IwZM1RaWqqhQ4dq6dKlLYNUCwsLZbV+f8LltNNO07x583TPPfforrvuUt++fbVo0SLT5xgBAADeoc3zjJiho+YZAQAAHae1799eeTcNAAAIHJQRAABgKsoIAAAwFWUEAACYijICAABMRRkBAACmavM8I2b47u7jjlq9FwAAtL/v3rd/bBYRnygj1dXVksTqvQAA+KDq6mrFxsYe8+s+MemZx+NRSUmJoqOjZbFYzI5jOofDoYyMDBUVFTEJXAfjte48vNadh9e68wT6a20Yhqqrq9WtW7fDZmf/Xz5xZsRqtSo9Pd3sGF4nJiYmIP9xm4HXuvPwWnceXuvOE8iv9Q+dEfkOA1gBAICpKCMAAMBUlBEfZLPZNHPmTNlsNrOj+D1e687Da915eK07D6916/jEAFYAAOC/ODMCAABMRRkBAACmoowAAABTUUYAAICpKCN+wul0aujQobJYLFq/fr3ZcfzOnj17dMMNN6hnz54KDw9X7969NXPmTLlcLrOj+YU5c+YoMzNTYWFhys7O1qpVq8yO5Jfy8/N1yimnKDo6WsnJyRo/fry2bdtmdiy/99BDD8lisej22283O4rXooz4iTvvvFPdunUzO4bf2rp1qzwej5599llt3rxZTzzxhObOnau77rrL7Gg+b8GCBcrLy9PMmTO1du1aDRkyRLm5uSovLzc7mt/5+OOPNWXKFH3xxRdatmyZGhsbdcEFF6i2ttbsaH7rq6++0rPPPqvBgwebHcW7GfB5S5YsMbKysozNmzcbkox169aZHSkgzJo1y+jZs6fZMXzeqFGjjClTprR87na7jW7duhn5+fkmpgoM5eXlhiTj448/NjuKX6qurjb69u1rLFu2zDj77LON2267zexIXoszIz6urKxMN954o/7xj38oIiLC7DgBxW63KyEhwewYPs3lcmnNmjXKyclp2Wa1WpWTk6OVK1eamCww2O12SeLfcQeZMmWKLr744sP+fePofGKhPBydYRi67rrrdNNNN2nkyJHas2eP2ZECRkFBgZ588kk9+uijZkfxaZWVlXK73UpJSTlse0pKirZu3WpSqsDg8Xh0++236/TTT9fAgQPNjuN35s+fr7Vr1+qrr74yO4pP4MyIF5o2bZosFssPPrZu3aonn3xS1dXVmj59utmRfVZrX+v/VlxcrLFjx+qKK67QjTfeaFJy4MRMmTJFmzZt0vz5882O4neKiop022236Z///KfCwsLMjuMTmA7eC1VUVOjAgQM/uE+vXr105ZVX6u2335bFYmnZ7na7FRQUpGuuuUYvv/xyR0f1ea19rUNDQyVJJSUlOuecc3TqqafqpZdektVKnz8RLpdLERERWrhwocaPH9+yfdKkSaqqqtKbb75pXjg/dsstt+jNN9/UJ598op49e5odx+8sWrRIl156qYKCglq2ud1uWSwWWa1WOZ3Ow74GyohPKywslMPhaPm8pKREubm5WrhwobKzs5Wenm5iOv9TXFysMWPGaMSIEXrllVf4Y9JOsrOzNWrUKD355JOSmi8fdO/eXbfccoumTZtmcjr/YhiGbr31Vr3xxhtasWKF+vbta3Ykv1RdXa29e/cetm3y5MnKysrS1KlTuSx2FIwZ8WHdu3c/7POoqChJUu/evSki7ay4uFjnnHOOevTooUcffVQVFRUtX0tNTTUxme/Ly8vTpEmTNHLkSI0aNUqzZ89WbW2tJk+ebHY0vzNlyhTNmzdPb775pqKjo1VaWipJio2NVXh4uMnp/Ed0dPQRhSMyMlJdunShiBwDZQRohWXLlqmgoEAFBQVHFD1OLp6YCRMmqKKiQjNmzFBpaamGDh2qpUuXHjGoFSfumWeekSSdc845h21/8cUXdd1113V+IOBbXKYBAACmYvQdAAAwFWUEAACYijICAABMRRkBAACmoowAAABTUUYAAICpKCMAAMBUlBEAAGAqyggAADAVZQQAAJiKMgIAAExFGQEAAKb6fwlhl4ZhdbZHAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# sigmoid函数图形\n",
    "\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def sigmoid(x):\n",
    "    return 1 / (1 + np.exp(-x))\n",
    "\n",
    "x = np.arange(-5.0, 5.0, 0.1)\n",
    "y = sigmoid(x)\n",
    "plt.plot(x, y)\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0. 1. 2.]\n"
     ]
    }
   ],
   "source": [
    "# ReLU函数的实现\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "def relu(x):\n",
    "    return np.maximum(0, x)\n",
    "\n",
    "x = np.array([-1.0, 1.0, 2.0])\n",
    "print(relu(x))"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 640x480 with 1 Axes>",
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ReLU函数的图形\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def relu(x):\n",
    "    return np.maximum(0, x)\n",
    "\n",
    "x = np.arange(-5.0, 5.0, 0.1)\n",
    "y = relu(x)\n",
    "# 绘制图形\n",
    "plt.plot(x, y)\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}